mov ax,0x07c0
mov dx,0xb800

mov ds,ax
mov es,dx

mov cx,data_end - data
mov bx,data
mov si,0
mov di,0

call fn_show
jmp near $
;---------------------------
; args  cx,dx,si,di
;---------------------------
fn_show:
    write:
       mov al,[bx+si]
       mov byte es:[di],al
       mov byte es:[di +1 ],0x4

       inc si
       add di,2

       loop write
       ret


data:
  db "Rust is the best language in the world. If you don't agree, come and debate"
data_end
times 510-($-$$) db 0
dw 0xaa55
